The present invention relates generally to the field of computers, and specifically to a method of creating and maintaining an emergency boot directory containing a back-up operating system, within an existing main storage area, where the directory is hidden from the user and applications during normal use.
Modern personal computers have become complex, and may include a wide variety of peripheral devices and network interfaces. These devices may connect to the computer via a variety of standard interfaces, including the RS-232 Serial Port, Universal Serial Bus (USB), IEEE 1394 (also known as FireWire or i.Link), SCSI (Small Computer System Interface), PCMCIA (Personal Computer Memory Card International Association), and various network interfaces such as Token Ring, Ethernet, Bluetooth, IEEE 802.11, or the like. Most of these interfaces require a fully configured and running operating system to provide access to the attached device(s) and/or network(s). That is, they are not recognized by the computer ROMBIOS as boot devices, and additionally are not natively supported as boot or system devices by the operating system. As such, data storage devices attached to the computer via these interfaces are a poor choice for use as backup devices for critical system files needed in the event of a computer crash, such as may be caused by a hard drive malfunction, virus infection or other problem that keeps the computer operating system (OS) from successfully running and providing access the to backup device.
Current disaster recovery methods that deal with restoring unbootable computer systems running a modern operating system—such as Windows NT, 2000, or XP—either require a re-installation of the original operating system on the normal computer system hard drive, or else providing a secondary, legacy-based operating system, such as a prior version of Windows, containing hardware specific device drivers, to provide access to an external storage device. Both approaches present significant deficiencies. Re-installing the operating system is a daunting task for most users, and will often result in the loss of at least the data generated and stored on the system disk since the last back-up. Using a legacy-based operating system—such as MS-DOS and those versions of Microsoft Windows that were derived from MS-DOS, such as Windows 3x/9x/ME—for booting a damaged or virus-infected computer requires a separate license, requires a variety of hardware-specific, real-mode device drivers, and does not include native support for modern file systems, such as NTFS file system introduced with the Windows NT operating system in the early 1990s.
In recent years the available space on computer hard drives has increased significantly and continues to double approximately every eighteen months. This very large disk capacity makes storage of a back-up copy of the operating system on an internal hard drive a feasible solution. Such an approach presents the significant advantages that no separate license fees are due to use the back-up operating system, no legacy real-mode device drivers must be maintained, and all of the files systems on a typical computer are natively supported, as the back-up operating system is a copy of the computer's primary operating system. Furthermore, if the computer's bootstrap code is appropriately configured to boot the back-up copy directly (or alternatively, to copy the back-up copy to the normal OS system directories and boot from there), in the event of a failure of the primary operating system to boot and run, the user is spared the need to re-install the operating system.
Two recent trends have made such on-disk storage of a back-up operating system risky. First, with the growth of the Internet, computer users have been subjected a dramatic increase in the number of and variety of malicious viruses, many of which search a computer's internal drives or operating system files and infect or otherwise alter all that they find. Second, with increasing high-bandwidth Internet availability, such as via television cable modems, DSL links, and the like, many computers maintain a “persistent” connection to the Internet. That is, they are always connected, dramatically increasing their exposure to infection by malicious viruses. The low utilization of firewalls and anti-virus software, and many users' poor virus profile update habits, further increase the risk of a virus infection that may seek out and alter on-disk operating system files.
Maintaining back-up operating system files on an internal disk in such a manner that the back-up copy is hidden, both from the user and from applications running on the computer, is well known in the art. These prior art methods hide back-up copies of the operating system by placing it in separate, hidden disk partitions, or in different file systems. Keeping a back-up copy of the OS in a separate partition or file system, however, presents several disadvantages. In a normal end user personal computer configuration, there is usually one hard drive. That drive typically includes a single partition that uses all available hard disk space, and that partition typically contains a single file system that uses all available space within the partition. Hiding files through either a hidden partition or a separate file system presents several difficulties in such a situation. To include a separate file system, for example, requires either adding an additional mass storage device for the new file system or re-sizing the original file system layout to provide space for the new file system within an existing partition. Such a re-sizing operation typically requires specialized software.
Similarly, to add a new partition in an existing end user configuration to store a back-up copy of the operating system, software is necessary to either re-size an existing disk partition or create a new one. Re-sizing partitions is a very precarious endeavor that can easily cause complete loss of existing data on the hard disk. As such, re-sizing normally requires the end user to perform a complete backup of the hard disk before the partitions are re-sized, so the existing data is protected. Separate software may be necessary to relocate existing files on the hard drive, to clear contiguous free space for a second partition or file system. The partitions or file systems may need to be re-sized again when operating system upgrades, or service packs, are installed that increase the operating system file set (and hence the space required to store a back-up copy).
Furthermore, to select the partition from which to boot, many prior art systems must alter or replace the master boot record, such as to pause booting to request partition selection instructions from the user, or to examine the success record of prior boot attempts and select or copy partitions or file systems automatically. Alteration of the master boot record causes compatibility problems with hard disk utilities such as DiskManager, which place their own code in the master boot record to allow the use of hard drives with geometries that are unsupported by the computer's ROMBIOS. Making modifications to a master boot record will also trigger antivirus programs that monitor writes to the master boot record. Finally, software must be provided to remove the hidden partition or file system and restore the size of the original partition or file system when the end user wishes to remove the operating system, an operation that would also require a full backup of the hard disk as a safety precaution before the resizing operation.
Hence, a need exists in the art for a method of maintaining a back-up copy of the operating system and other recovery software, in a secured and hidden location within an existing main storage area, so that it would no longer be necessary to alter the existing main storage in order to create and maintain a separate secondary storage area, as the prior art requires for most end user computer configurations.